package com.cykj.enterprise.service;

import com.cykj.common.dto.ResponseDTO;
import com.cykj.common.entity.HrDO;
import com.cykj.common.entity.JobDO;
import com.cykj.enterprise.vo.HrVO;
import com.cykj.enterprise.vo.RecruitInfoVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @BelongsProject: smart_recruit_backend
 * @BelongsPackage: com.cykj.enterprise.service
 * @Author: 小白糖糖
 * @CreateTime: 2025-08-18 22:12
 * @Description: TODO
 * @Version: 1.0
 */
public interface IRecruitService {
    /**
    * @Description: 通过人事ID获取人事信息，判断是否通过资质审核
    * @Param: [hrId]
    * @return: com.cykj.common.dto.ResponseDTO
    */
    ResponseDTO getHrInfo();

    /**
    * @Description: 通过人事ID及人事身份，获取对应公司下的招聘信息
    * @Param: [hrVO]
    * @return: com.cykj.common.dto.ResponseDTO
    */
    ResponseDTO getRecruitList(HrVO hrVO);

    /**
    * @Description: 获取所有职位类型，用于新增职位
    * @Param: []
    * @return: com.cykj.common.dto.ResponseDTO
    */
    ResponseDTO getJobTypeList();

    /**
     * @Description: 根据选择的职位类别，获取对应职位类别下的具体职位
     * @Param: []
     * @return: java.util.List<com.cykj.common.entity.JobDO>
     */
    ResponseDTO getSpecificJobList(Integer typeId);

    /**
     * @Description: 企业端发布招聘信息
     * @Param: [recruitInfoVO]
     * @return: java.lang.Integer
     */
    ResponseDTO addRecruit(RecruitInfoVO recruitInfoVO);

    /**
     * @Description: 企业端修改招聘信息
     * @Param: [recruitInfoVO]
     * @return: java.lang.Integer
     */
    ResponseDTO updateRecruit(RecruitInfoVO recruitInfoVO);

    /**
     * @Description: 企业端删除招聘信息时，hr身份认证
     * @Param: [hrVO]
     * @return: com.cykj.common.entity.HrDO
     */
    ResponseDTO identityCheck(HrVO hrVO);

    /**
     * @Description: 企业端删除招聘信息
     * @Param: [recruitId]
     * @return: java.lang.Integer
     */
    ResponseDTO deleteRecruit(Integer recruitId);
}
